เรสต์สมัยใหม่ใช้ประโยชน์จาก การเขียนโปรแกรมแบบฟังก์ชัน หลักการเพื่อให้บริการ การสร้างนามธรรมที่ไม่มีค่าใช้จ่าย. โดยการจัดการฟังก์ชันเป็นค่า และข้อมูลเป็นลำดับที่ไม่สามารถเปลี่ยนแปลงได้ เรสต์ทำให้สามารถสร้างการทำงานที่มีประสิทธิภาพสูงได้ การดำเนินการนำเข้า/ส่งออก โดยไม่ต้องเสียประสิทธิภาพการทำงาน
1. สภาพแวดล้อมและการปิด (Closures)
ต่างจากฟังก์ชันมาตรฐาน ฟังก์ชันแบบปิด (Closures) สามารถ จับภาพสภาพแวดล้อมของตนเอง. พวกเขาใช้ Fn, FnMutหรือ FnOnce ลักษณะเฉพาะเพื่อจัดการ การถ่ายโอนกรรมสิทธิ์ในฟังก์ชันแบบปิด, เพื่อให้มั่นใจว่าความปลอดภัยของหน่วยความจำยังคงอยู่แม้ว่าฟังก์ชันจะมีสถานะติดตัวมาด้วย
let v1_iter = v1.iter().map(|x| x + 1);
// v1_iter เป็นแบบดื้อรั้น และยังไม่ได้ทำงานเลย!
2. สายการประมวลผลแบบอธิบายได้
โดยการใช้ ตัวปรับแต่งอิติเตอร์เรเตอร์, นักพัฒนาสามารถแทนที่การวนซ้ำที่ซับซ้อนด้วยตรรกะที่กระชับ ฟังก์ชัน method iter_mut ช่วยให้เกิดการเปลี่ยนแปลงเชิงฟังก์ชันอย่างปลอดภัยและตรงจุด โดยที่คอมไพเลอร์จะปรับปรุงคำขอระดับสูงเหล่านี้ให้กลายเป็นรหัสแอสเซมบลีที่เทียบเคียงกับการเขียนลูปด้วยมือได้
3. ผลการทดสอบประสิทธิภาพ
เมื่อคอมไพล์ในโหมด dev profile หรือรีลีส ฟังก์ชัน search ฟังก์ชันแสดงประสิทธิภาพได้ ผลการทดสอบทางสถิติแสดงว่า: test bench_search_iter ... bench: 19,234,900 ns/iter. นี่ยืนยันว่าการสร้างนามธรรมเหล่านี้เป็นจริง ๆ แล้วไม่มีค่าใช้จ่าย
collect() หรือ sum().